/**
 * 
 */
package uea.pdd.pf2.model;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

import uea.pdd.pf2.MainActivity;

/**
 * @author fernando luna
 *
 */
public class DBHelper extends SQLiteOpenHelper{
	
	private static final int VERSAO = 1;
	public static final String NOME_BD = "medicamentosBD.db";
	public static final String TABELA_MED = "medicamentos";
	
	public static final String COLUNA_ID = "id_med";
	public static final String COLUNA_NOME = "nome_med";
	public static final String COLUNA_HORA = "hora_med";
	public static final String COLUNA_FREQ = "freq_med";
	public static final String COLUNA_QTDU = "qtdu_med";
	
	private static final String CREATE = "CREATE TABLE"
			+ TABELA_MED + "("
			+ COLUNA_ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
			+ COLUNA_NOME + " TEXT NOT NULL,"
			+ COLUNA_HORA + " INTEGER NOT NULL,"
			+ COLUNA_FREQ + " INTEGER NOT NULL,"
			+ COLUNA_QTDU + " INTEGER NOT NULL"
			+ ");";
	
	private static final String DROP = "DROP TABLE IF EXISTS " + TABELA_MED;
	
	public static final String[] COLUNAS = 
			new String[]{COLUNA_ID, COLUNA_NOME, COLUNA_HORA, COLUNA_FREQ, 
						 COLUNA_QTDU};
	
	/**Instancia do DBHelper cria o BD caso ele nao exista*/
	public DBHelper(Context contexto) {
		super(contexto, NOME_BD, null, VERSAO);
		// TODO Auto-generated constructor stub
		contexto.openOrCreateDatabase(NOME_BD, Context.MODE_PRIVATE, null);
	}

	/**Chamado no momento da criacao do BD*/
	@Override
	public void onCreate(SQLiteDatabase db) {
		// TODO Auto-generated method stub
		Log.i(MainActivity.CATEGORY, "Criando o banco de dados!");
		Log.e(MainActivity.CATEGORY, "O banco nao foi criado");
		db.execSQL(CREATE);
		
		Log.i(MainActivity.CATEGORY, "CRIADO!");
	}

	/**Chamado toda vez que o banco e atualizado
	 * Necessario atualizar a constante VERSAO*/
	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		// TODO Auto-generated method stub
		Log.i(MainActivity.CATEGORY, "Atualizando versao do banco de dados!");
		
		db.execSQL(DROP);
		onCreate(db);
	}

}